package com.dgut.app.service;

import com.dgut.common.dto.BillDTO;
import com.dgut.common.dto.RemarkDTO;
import com.dgut.common.vo.BillCalendarVO;
import com.dgut.common.vo.BillDetailVO;

import java.util.Date;
import java.util.List;

/**
 * @author IT00ZYQ
 * @date 2021/4/13 15:20
 **/
public interface BillService {

    /**
     * 新增账单
     * @param dto 账单信息
     * @param token 用户登录令牌
     */
    void addBill(BillDTO dto, String token);

    /**
     * 删除账单
     * @param id 账单ID
     */
    void deletedBill(Integer id);

    /**
     * 账单详情
     * @param begin 开始时间
     * @param end 结束时间
     * @param token 用户登录令牌
     * @return 账单详情信息
     */
    BillDetailVO billDetail(Date begin, Date end, String token);

    /**
     * 新增备注
     * @param dto 备注信息
     * @param token 用户登录令牌
     */
    void addRemark(RemarkDTO dto, String token);

    /**
     * 修改备注
     * @param dto 备注信息
     * @param token 用户登录令牌
     */
    void updateRemark(RemarkDTO dto, String token);


    /**
     * 账单日历
     * @param date 年月
     * @param token 用户登录令牌
     * @return 账单日历
     */
    List<BillCalendarVO> billCalendar(Date date, String token);
}
